package com.pig4cloud.pig.task.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 任务信息表
 *
 * @author pig
 * @date 2025-07-09 16:50:11
 */
@Data
@TableName("task_info")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "任务信息表")
public class TaskEntity extends Model<TaskEntity> {


	/**
	* 主键ID
	*/
    @TableId(type = IdType.ASSIGN_ID)
    @Schema(description="主键ID")
    private Long id;

	/**
	* 任务标题
	*/
    @Schema(description="任务标题")
    private String title;

	/**
	* 文件类型
	*/
    @Schema(description="文件类型")
    private String fileType;

	/**
	* 执行PPK文件路径
	*/
    @Schema(description="执行PPK文件路径")
    private String execPpk;

	/**
	* 处理状态(pending/processing/completed/failed)
	*/
    @Schema(description="处理状态(pending/processing/completed/failed)")
    private String processStatus;

	/**
	* 处理消息或错误信息
	*/
    @Schema(description="处理消息或错误信息")
    private String message;

	/**
	 * 省份
	 */
	@Schema(description="省份")
	private String province;

	/**
	 * 区县
	 */
	@Schema(description="区县")
	private String district;

	/**
	 * 城市
	 */
	@Schema(description="城市")
	private String city;

	/**
	* 任务开始时间
	*/
    @Schema(description="任务开始时间")
    private LocalDateTime startTime;

	/**
	* 任务结束时间
	*/
    @Schema(description="任务结束时间")
    private LocalDateTime endTime;

	/**
	* 来源客户端
	*/
    @Schema(description="来源客户端")
    private String sourceClient;

	/**
	* 创建用户
	*/
    @Schema(description="创建用户")
    private String createUser;

	/**
	* CMCC ID
	*/
    @Schema(description="CMCC ID")
    private String cmccId;

	/**
	* CMCC里程(公里)
	*/
    @Schema(description="CMCC里程(公里)")
    private Float cmccMileage;

	/**
	* CMCC日志
	*/
    @Schema(description="CMCC日志")
    private String cmccLog;

	/**
	* 创建时间
	*/
	@TableField(fill = FieldFill.INSERT)
    @Schema(description="创建时间")
    private LocalDateTime createTime;
}
